﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using GalaSoft.MvvmLight;

namespace WebSiteAdminTool.UI.Ioc
{
    public static class Factory
    {
        #region private data

        private static ServiceLocator _serviceLocator = null;
        private static ViewModelLocator _viewModelLocator = null;
        private static ViewLocator _viewLocator = null;

        #endregion

        #region public accessors

        public static ServiceLocator ServiceLocator
        {
            get
            {
                if (null == _serviceLocator)
                    _serviceLocator = new ServiceLocator();
                return _serviceLocator;
            }
        }

        public static ViewModelLocator ViewModelLocator
        {
            get
            {
                if (null == _viewModelLocator)
                    _viewModelLocator = new ViewModelLocator();
                return _viewModelLocator;
            }
        }

        public static ViewLocator ViewLocator
        {
            get
            {
                if (null == _viewLocator)
                    _viewLocator = new ViewLocator();
                return _viewLocator;
            }
        }

        #endregion
    }
}
